package com.kaifamiao.date;

import java.util.Date;

/**
 * 1、判断当前Date实例所表示时间是否早于指定Date实例所表示的时间
 *    public boolean before(Date when)
 * 2、判断当前Date实例所表示时间是否晚于指定Date实例所表示的时间
 *    public boolean after(Date when)
 * 3、判断当前Date实例所表示时间是否等于指定Date实例所表示的时间
 *    public boolean equals( Object another )
 */
public class DateTest2 {

	public static void main(String[] args) {
		
		final long day = 1000L * 60 * 60 * 24 ;
		final long millis = System.currentTimeMillis() ;
		long first =  millis - 7 * day ;
		long second = millis + 7 * day ;
		
		Date f = new Date( first );
		Date c = new Date( millis );
		Date s = new Date( second );
		Date n = new Date( millis );
		
		// 判断 f 所表示的日期时间是否【早】于 c 所表示的日期时间
		System.out.println( f.before( c ) ); // true
		System.out.println( c.before( s ) ); // true
		System.out.println( s.before( c ) ); // false
		System.out.println( c.before( f ) ); // false
		
		System.out.println( "- - - ".repeat( 10 ) );
		
		// 判断 c 所表示的日期时间是否【晚】于 f 所表示的日期时间
		System.out.println( f.after( c ) ); // false
		System.out.println( c.after( s ) ); // false
		System.out.println( s.after( c ) ); // true
		System.out.println( c.after( f ) ); // true
		
		System.out.println( "- - - ".repeat( 10 ) );
		
		System.out.println( c.equals( n ) ); // true
		
		System.out.println( "- - - ".repeat( 10 ) );
		
		// 笨蛋是这样比较Date实例的
		if( f.getTime() > c.getTime() ) {
			System.out.println( f + " 晚于 " + c );
		} else if ( f.getTime() == c.getTime() ){
			System.out.println( "相等" );
		} else {
			System.out.println( f + " 早于 " + c );
		}

	}

}
